/*************************************************************************
    > File Name: rs485.h
    > Author: Happyfrog
    > Mail: yanghappyfrog@163.com 
    > Created Time: 2018年05月28日 星期一 10时02分26秒
 ************************************************************************/

#ifndef __SERIAL_H
#define __SERIAL_H

#include <stdio.h>
#include <termios.h>
#include <linux/ioctl.h>
#include <sys/ioctl.h>
#include <linux/serial.h>
#include <asm-generic/ioctls.h> /* TIOCGRS485 + TIOCSRS485 ioctl definitions */
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include <stdlib.h>
#include <getopt.h>

#define DEBUG 

#ifdef DEBUG
#define DBG(format,...) printf("[DATE]:%s, [FILE]:%s, [FUNC]:%s, [LINE]:%04d;  "format"\r\n", __DATE__, __FILE__, __func__, __LINE__, ##__VA_ARGS__) 
#else  
#define DBG(format,...)  
#endif

#define INFO(format, ...) printf("[ZCLIB]: "format"\r\n", ##__VA_ARGS__) 

int serial_read(char *port, char *r_buf);
// int serial_write(char *port, char *w_buf);
int serial_write(char *port, int time);
int set_port(int fd, int nSpeed, int nBits, char nEvent, int nStop);
int open_port(char *dir);
int read_data(int fd, char *buf, int len, int time_ms);

#endif
